1. Field of the Invention
The present invention relates to graphical display systems. More specifically, the present invention relates to a method and an apparatus that facilitates redirecting the output of direct rendering graphics calls in a graphical display system.
2. Related Art
Today, most personal computers and other high-end devices support window-based graphical user interfaces (GUIs), which were originally developed back in the 1970's. These window-based interfaces allow a user to manipulate windows through a pointing device (such as a mouse), in much the same way that pages can be manipulated on a desktop. However, because of limitations on graphical processing power at the time windows were being developed, many of the design decisions for windows were made with computational efficiency in mind. In particular, window-based systems provide a very flat (two-dimensional) 2D user experience, and windows are typically manipulated using operations that keep modifications of display pixels to a minimum. Even today's desktop environments like Microsoft Windows (distributed by the Microsoft Corporation of Redmond, Wash.) include vestiges of design decisions made back then.
In recent years, because of increasing computational requirements of 3D applications, especially 3D games, the graphical processing power of personal computers and other high-end devices has increased dramatically. For example, a middle range PC graphics card, the “GeForce2 GTS” distributed by the NVIDIA Corporation of Sunnyvale, Calif., provides a 3D rendering speed of 25 million polygon-per-second, and Microsoft's “Xbox” game console provides 125 million polygon-per-second. These numbers are significantly better than those of high-end graphics workstation in the early 1990's, which cost tens of thousands (and even hundreds of thousands) of dollars.
As graphical processing power has increased in recent years, a number of 3D user interfaces have been developed. Some of these 3D user interfaces have been 3D window systems which display conventional 2D window system applications in a 3D environment on the display. These 3D window systems have focused on the conventional application's redirection of the output of 2D window system graphics libraries into a texture and have not addressed the use of direct rendering graphics libraries by these conventional applications.
Hence, what is needed is a method and an apparatus that facilitates efficient direct rendering of objects in a graphical display system without the problems described above.